package test04.method;
import entity.Student;
import java.lang.reflect.Method;

/**
 * 反射 API 操作 - 方法操作 - Method
 *
 * @Author zqx
 * @Date 2024-03-26
 */
public class MainTest02 {
    public static void main(String[] args) throws Exception {
        // 第一：获取类的 Class 对象
        Class<Student> clazz = Student.class;
        // 第二：使用反射调用方法
        // 1.实例化对象
        Student stu = clazz.getConstructor().newInstance();
        // 2.获取方法 - public void sayHello(String who) {
        // getMethod("方法名称",参数类型.class,...,参数类型.class)
        Method sayHelloMethod = clazz
                .getMethod("sayHello", String.class);
        // 3.调用方法 - stu.sayHello("张三")
        sayHelloMethod.invoke(stu,"张三") ;
    }
}
